package deployr.domain;

import java.util.*;

import deployr.core.*;

public interface IProject {

	IEvent addEvent(final String name, final Date now);

	String getArtifactId();

	String getChecksum();

	Iterable<IEvent> findEvents();

	String getGroupId();

	Date getLastUpdated();

	String getPath();

	boolean pathEqualsTo(final String path);

	boolean pathStartsWith(final String path);

	String getProjectKey();

	Status getStatus();

	void updateChecksum(final String checksum);

	Iterable<IUpdate> findUpdates();

	String getVersion();

	IUpdate createUpdate();

	Artifact getArtifact();

	void removeUpdatesAndEraseChecksum();

	int updatesCount();

}